* {
  margin: 0;
  padding: 0;
}

body {
  overflow: hidden;
  font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial;
}

.position {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.z-index-mask {
  z-index: 10;
}

.z-index-bg {
  z-index: 1;
}

.z-index-content {
  z-index: 5;
}

.z-index-alert {
  z-index: 15;
}

.transform-translate {
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.pt-start {
  .z-index-content;
  .position;
  display: flex;
  align-content: center;
  align-items: center;
  background: none;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  min-height: 100vh;
  img {
    width: 100%;
  }
  .pt-start-title {
    width: 15.2rem;
    margin-bottom: 2.7rem;
  }
  .pt-start-btn {
    width: 13.6rem;
    margin-bottom: 4rem;
  }

  .pt-start-gz {
    position: absolute;
    right: .8rem;
    top: .8rem;
    background-color: rgba(0, 0, 0, .7);
    border-radius: 24px;
    overflow: hidden;
    text-align: center;
    padding: .7rem 1rem;
    font-size: 1.2rem;
    color: #fff;
    line-height: 1em;
  }
}

.pt-gz {
  .z-index-alert;
  display: none;
  position: absolute;
  top: 40%;
  left: 50%;
  .transform-translate;
  width: 27rem;
  height: 19.2rem;
  background: url("../images/pt-gz-bg.png") no-repeat;
  background-size: 100% auto;
  .pt-gz-close {
    position: absolute;
    right: -.6rem;
    width: 3.2rem;
    height: 3.2rem;
    img {
      width: 100%;
    }
  }
  .pt-gz-title {
    text-align: center;
    margin-top: 4rem;
    margin-bottom: 2.2rem;
    img {
      width: 8.2rem;
      height: 1.9rem;
    }
  }
  p {
    padding: 0 2.5rem;
    color: #22703a;
    font-size: 1.2rem;
    line-height: 2.2rem;
  }
}

.pt-content {
  opacity: 0;
  .position;
  .z-index-content;
  .transform-translate;
  width: 28.8rem;
  height: 41rem;
  background: url("../images/pt-start-bg.png") no-repeat;
  background-size: 100% auto;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;

  display: none;

  .pt-content-box {
    width: 23.3rem;
    height: 35.3rem;
  }
  .pt-content-hd {
    display: flex;
    justify-content: space-between;
    .pt-progress-warp {
      width: 17.5rem;
      height: 1.6rem;
      background: url("../images/pt-jd-bg.png") no-repeat;
      background-size: 100% auto;
      position: relative;
      font-size: 0;
      .pt-progress-box {
        width: 17.5rem;
        height: 1.6rem;
        font-size: 0;
        transition: all .2s;
        overflow-x: hidden;
      }
      .pt-progress-box-c {
        margin-left: .2rem;
        font-size: 0;
        width: 17rem;
        height: 1.6rem;
        line-height: 1.6rem;
        img {
          margin-top: .15rem;
          vertical-align: middle;
        }
      }
      img {
        width: 100%;
        height: auto;
      }
    }
    .pt-countdown {
      font-size: 1.2rem;
      font-weight: bold;
      line-height: 16px;
      color: #054017;
    }
  }

  .pt-box {
    width: 24.3rem;
    margin-top: 1.8rem;
    ul, li {
      list-style: none;
    }

    ul {
      width: 100%;
      position: relative;
      -webkit-user-select: none;
      font-size: 0;
      height: 31rem;
    }
    li {
      width: 7.8rem;
      height: 7.8rem;
      display: inline-block;
      overflow: hidden;
      cursor: pointer;
      border-radius: 8px;
      &.cur {
        border: 1px solid #000000;
      }
      &.attr {
        border: 1px solid red;
      }
      img {
        margin-left: -.2rem;
        margin-top: -.2rem;
        width: 8rem;
        height: 8rem;
      }
    }
  }
  .pt-countdown-alert {
    position: absolute;
    left: 50%;
    top: 50%;
    .transform-translate;
    width: 5.5rem;
    height: 4.2rem;
    color: #fff;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.4rem;
    background: rgba(0, 0, 0, .8);
    padding-top: 1.3rem;
    border-radius: 50%;
  }
}

.pt-end {
  display: none;
  .position;
  .z-index-alert;
  .pt-end-box {
    width: 100%;
    max-width: 32rem;
    height: 32rem;
    position: relative;
    margin: 0 auto;
    display: none;
    z-index: 1;
  }
  .pt-end-success {
    background: url("../images/h.gif") no-repeat center;
    background-size: 100% auto;
    .pt-end-content {
      background: url("../images/pt-se-bg.png") no-repeat;
      background-size: 100% auto;
      p {
        color: rgb(34, 112, 58);
      }
    }
    .pt-end-content-bg {
      background: url("../images/pt-se-bg-e.png") no-repeat;
      background-size: 100% auto;
    }
  }
  .pt-end-failure {
    display: none;
    background: url("../images/b.gif") no-repeat;
    background-size: 100% auto;
    .pt-end-content {
      background: url("../images/pt-er-bg.png") no-repeat;
      background-size: 100% auto;
      p {
        color: #a00e0e;
      }
    }
    .pt-end-content-bg {
      width: 25rem;
      height: 25rem;
      top: 4rem;
      margin-left: -13rem;
      background: url("../images/pt-er-e.png") no-repeat;
      background-size: 100% auto;
    }
  }
  .pt-end-content {
    width: 20rem;
    height: 18rem;
    position: absolute;
    left: 50%;
    top: 50%;
    .transform-translate;
    .pt-end-content-title {
      text-align: center;
      margin-top: 2.8rem;
      margin-bottom: 1.8rem;
    }
    img {
      width: 8.2rem;
      height: auto;
    }
    p {
      padding: 0 1.5rem;
      font-size: 1.2rem;
      line-height: 1.833;
      text-align: center;
    }
  }
  .pt-end-content-bg {
    .position;
    width: 26rem;
    height: 23rem;
    left: 50%;
    margin-left: -13rem;
    top: 6.5rem;
  }
  .pt-end-btn {
    position: relative;
    z-index: 10;
    margin-top: -4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    div {
    }
    img {
      width: 100%;
      height: auto;
    }
    .pt-end-btn-bf {
      margin-right: 2.5rem;
      width: 8.1rem;
      height: 2.8rem;
    }
    .pt-end-btn-yq {
      width: 8.5rem;
      height: 2.8rem;
    }
  }
  .pt-end-rwm {
    position: relative;
    z-index: 10;
    margin-top: 2rem;
    width: 100%;
    text-align: center;
    img {
      width: 10rem;
    }
  }
}

.pt-bg {
  .position;
  .z-index-bg;
  background: url("../images/pt-bg.jpg") no-repeat bottom;
  background-size: 100% auto;
  &.pt-mhbg {
    background-image: url("../images/mh-bg.jpg");
  }
}

.pt-mask {
  display: none;
  background: rgba(0, 0, 0, .7);
  .position;
  .z-index-mask;
}

.blur {
  filter: url(blur.svg#blur); /* FireFox, Chrome, Opera */
  -webkit-filter: blur(15rem); /* Chrome, Opera */
  -moz-filter: blur(15rem);
  -ms-filter: blur(15rem);
  filter: blur(15rem);
}

.pt-fx {
  .position;
  display: none;
  background: url("../images/fx.png") no-repeat top;
  background-size: auto 100%;
  z-index: 22;
}

@media (min-width: 375px) and (max-width: 99999px) {
  .pt-end {
    .pt-end-btn {
      margin-top: -4rem;
    }
    .pt-end-rwm {
      margin-top: 5rem;
    }
  }
}

@media (min-width: 350px) and (max-width: 374px) {
  .pt-end {
    .pt-end-btn {
      margin-top: -5rem;
    }
    .pt-end-rwm {
      margin-top: 2rem;
    }
  }
}

@media (min-width: 376px) and (max-width: 99999px) {
  html, body {
    font-size: 80.86%;
  }
}

@media (min-width: 321px) and (max-width: 375px) {
  html, body {
    font-size: 73.243%;
  }
}

@media (min-width: 0) and (max-width: 321px) {
  html, body {
    font-size: 62.5%;
  }
}
